﻿/*
Nombre:                         Administrador
Descripcion:                    
Dependencias:                 
Fecha de creación:              2/9/2009 9:56:35 PM
Autor:                          VMORALES
Fecha de modifcación:         
Responsable:                  
Num. de modifcación:            0
*/

#region Imports

using System;
using Spring.Context;
using Spring.Context.Support;
using Spring.Objects.Factory.Config;
using Spring.Objects.Factory.Xml;
using System.Collections.Generic;

#endregion

namespace Electrocucaracha.AdminPersonal.DAO.Acciones
{
    public class Administrador
    {
        #region Constantes

        #endregion

        #region Miembros

        private static Administrador instancia;
        private IApplicationContext ctx;

        #endregion

        #region Propiedades

        public static Administrador Instancia
        {
            get
            {
                if (instancia == null)
                {
                    instancia = new Administrador();
                }
                return instancia;
            }
        }//Instancia
        
        #endregion

        #region Constructores

        private Administrador()
        {
            ctx = new XmlApplicationContext("file://Acciones/Administrador.xml");
            //ctx = new XmlApplicationContext("config://spring/objects");
        }//Administrador

        #endregion

        #region Funciones

        public Accion ObtenerAccion(string accion){
            return ctx != null ? (Accion)ctx.GetObject(accion) : null;
        }//ObtenerAccion

        public void Ejecutar(Accion accion)
        {
            accion.preEjecutar();
            accion.Ejecutar();
            accion.postEjecutar();
        }//Ejecutar

        public void Ejecutar()
        {
        }//Ejecutar

        #endregion

    }//Administrador
}//Electrocucaracha.AdminPersonal.DAO.Acciones